Your Financial Partner Version 3.31 CPP February 25, 1994 (c) 1986 - 1994, Marc R. Feldesman & Flying Pig Software All Rights Reserved "Your Financial Partner" grew out of frustration with the complexity and expense of many of today's financial management programs. There is nothing in "Your Financial Partner" that an enterprising user, armed with a solid knowledge of spreadsheet macro programming, couldn't do in spreadsheets like Lotus 1-2-3, Quattro Pro, or Excel. However, "Your Financial Partner" computes answers to common financial questions in an easy to use format. My idea was to produce a simple, menu-driven, self- documenting, "Shareware" program that would address most of the financial questions that ordinary people pose. Version 3.0CPP represented the first major revision of "Your Financial Partner" since 1989. The program was completely rewritten in C++ and sports a new user interface that makes better use of color and windows; it also supports a mouse. New financial calculations include a substantially expanded set of loan functions with a handy loan calculator that also doubles as an annuity calculator, improved loan refinancing and loan acceleration analysis, enhanced future value functions, and a new set of bond calculations. Version 3.1 added a function to calculate the annualized yield on investments. This restored the Internal Rate of Return function, present in version 2.29, but dropped from Version 3.0CPP. The new IRR function, tailored specifically for security yields, allows annualized yield calculations to be computed on time periods as short as 1 day, and handles up to 24 positive and negative cash flows. Version 3.11 was a maintenance release that added dates to the loan amortization schedules. Version 3.2 added the ability to reuse input; it also fixed a bug in the printer initialization routines that affected Panasonic and some Epson printers. Version 3.3 adds a Federal Takehome Pay Calculator to the Utilities, fixes a variety of minor (non-computational) bugs, and has been recompiled in Borland C++ Version 4.0. The memory requirements have also change in Version 3.3. It now requires a minimum of 448K to run. All Version 3.* releases continue to be largely self-documenting; the manual that follows is intended to supplement the program and provide information about possible financial circumstances where specific functions might be useful. Shareware: __________ 1 "Your Financial Partner" is distributed as "Shareware". "Shareware" is a class of software that is made accessible through various media (local and national bulletin boards, friends, commercial vendors) on a "try before you buy" basis. It is not free software nor is it public domain. What distinguishes "Shareware" from "Freeware" is that we "Shareware" authors expect to be compensated for our work, unlike "Freeware" authors who make their programs available with no expectation of compensation. "Shareware" authors are neither altruists nor fools. We believe that the myriad of available software packages (public domain, freeware, shareware, and commercial) make it nearly impossible to determine in advance whether a particular package meets your needs. With "Shareware" you have the opportunity to "try before you buy." A fully functional version of "Your Financial Partner" is thus made available for your evaluation for a reasonable length of time (30 days). If, at the end of this 30-day trial period, you find that it meets your needs, you are expected to register the program by mailing in the registration form along with the proper registration fee ($29.95) to the address listed in the back of this manual. If "Your Financial Partner" does not meet your needs, you are expected to erase the program from your disks and discontinue using it. Whether you register the program or not you are free to share this program with others provided that the entire program and its documentation in its original compressed form are made available. Hardware Requirements: ______________________ The program requires an IBM-compatible computer (PC, XT, AT, 386, or 486) with MS DOS 3.3 or higher, a minimum of 448K of RAM, and a floppy disk drive. A printer is optional; however, if you want hard-copy of any of the program's output, you will need a printer. The program makes no special demands on the printer. Any 80-column text printer will do. For those who use Windows as their primary operating system, "Your Financial Partner" will run as a DOS program under Windows 3.1. It runs successfully both in the foreground and in the background. It has not been tested with Windows 3.0; however since it makes no Windows calls, there is no reason why it shouldn't run under any version of Windows (or OS/2). Program Installation and Operation: ___________________________________ The program is distributed as a self-extracting archive file created using the public domain program LHA. The archive is called FINPART3.EXE. Version 3.3CPP is too large to run on a 360K diskette, even though the archived version is sometimes distributed on a 360K diskette. Therefore, to extract the executable version of "Your Financial Partner" (FINPART.EXE) you 2 need to copy FINPART3.EXE to a diskette with a formatted capacity greater than 360K (i.e. 720K, 1.2MB, or 1.44MB) or to a hard disk (preferably in its own subdirectory) and type FINPART3 [enter]. This will cause the extraction routine to unpack Financial Partner's executable program (FINPART.EXE) and its documentation. Once you have unpacked the program, it is ready to run. To print the documentation, type "copy finpart3.txt lpt1:" from your DOS prompt. [If you have your printer connected to a second printer port, substitute lpt2: for lpt1: above]. To use "Your Financial Partner," you must either be in the disk directory where the program resides, or you must have the Financial Partner directory in your directory path. Once this is done, you simply type FINPART [enter] from the command line and the opening credits will appear. If you wish to use "Your Financial Partner" with a printer, the program assumes a printer is attached to LPT1: (printer port #1). If you have a printer attached to LPT2:, you must run the program as follows: FINPART /2 [enter]. This tells the program to look for a printer attached to LPT2: rather than LPT1:. For your information, "Your Financial Partner" Version 3.3CPP opens no files and does not write anything to a diskette. If you find a version that causes your disk drive light to come on after the program is loaded, you have a bogus copy and you should take suitable precautions. General Information: ____________________ "Your Financial Partner" performs 6 major categories of financial calculations, plus several useful financial utility functions. The main menu displays the general categories. To move from choice to choice on the menus, use the up and down arrow keys, the mouse, or the highlighted letter on the menu item. When you are positioned at your choice press the enter key or click the left mouse button. This will transfer control to the submenu that actually contains the associated financial analyses. If at any point in the process you wish to return to the main menu, the ESC key is your path back. Every function requires user input. In writing the program I made every effort to protect you from yourself: you cannot enter an implausible or illegal value. There are two levels of error trapping. First, all user-entered input must be numeric. Therefore the moment you enter a non-numeric character (except 3 '.' or '-') the computer will beep and erase your entire entry. Second, each input field is validated to ensure that it falls within the preprogrammed limits. Thus, for example, you cannot enter an interest rate larger than 99.99%, or a loan amount greater than $99999999.99. Two factors governed these limits (a) limitations of numeric representation and (b) implausibility of certain combinations (e.g. 200 year annuity with 3000 payment periods per year). The program will not permit you to go to the next cell until you provide an acceptable entry in the current cell. (Note: the program uses bank years [360 days] for calculations involving "daily" compounding. This was a small, but relatively insignificant, compromise, needed to keep life simpler for me). Additional information appears at the bottom of the screen with every item that requires user input. This help line is provided to clarify the entry prompt, and, where relevant, to detail the range of acceptable values. Several of the routines require you to choose whether deposits, withdrawals, or payments occur at the beginning or end of the period. Most annuities and loans are paid at the end of the period; in most savings plans deposits are made at the beginning of the period. "Your Financial Partner" allows you to make this determination for yourself everywhere except loans. All routines follow a common path. When you have finished entering data and are satisfied with your entries, the results will appear after you press CTRL-ENTER (the calculation key). Before the computer performs the calculations, you are given the option to print the results to the screen or to the printer. Once you choose your output destination, the results will appear nearly instantaneously on the screen, or momentarily at the printer. Once the output has reached its destination, you may repeat the procedure using different values, or to return to the main menu. If you answer the question "Another Calculation (Y/N)?" with a "Y', you will be returned to the data entry screen with all previous values retained. To edit individual values you may use the mouse to position the cursor at the item you wish to edit, or you may cursor to the entry. Main Menu: __________ Aside from the "Quit" function, the main menu displays 7 functional choices. These are: 1. Future Value of Investment 2. Minimum Savings For Future Value 4 3. Withdrawal From an Investment 4. Present Value of Future Payments 5. Loan Calculations 6. Bond and Security Calculations 7. Utilities (1) Future Value of Investment. This function has a submenu with 5 different Future Value calculations. These include: 1. Future Value Based on Periodic Deposit 2. Future Value Based on Lump Sum Deposit 3. Lump Sum Deposit Followed By Periodic Deposit 4. Periods For PV to Reach FV at Given Interest Rate 5. Interest Rate for PV to Grow to FV in N Periods These functions address the following questions: If I invest a certain amount of money (periodically, as a lump sum, or both) into an account paying a fixed interest rate compounded at regular intervals, how much money will I accumulate after some interval of time. Alternately, it answers the questions of how long it will take for a sum of money to reach a new value given a particular interest rate, or what interest rate would be required to achieve a certain rate of return over a given interval of time. (2) Minimum Savings for Future Value. This function has 2 items on its submenu. They are: 1. Regular Deposits Needed For Future Value 2. Single Deposit Needed For Future Value This function is devoted to addressing the following problem. Suppose you have a 6 year old child who you want to send to college at age 18. You haven't started a savings program yet, but you figure that four years of college will cost about $40,000 twelve years from now. Your question is: How much per month (or any other period) will I have to put away on a regular basis (or all at once now) to accumulate $40,000 by the time my child is ready for college? By the way, at 6% interest, you would need to put aside $190.34 monthly for 12 years to accumulate $40,000 by the time your child is 18; alternatively at the same interest rate you would need to deposit $19505.05 today to have accumulated $40,000 by the time your child turns 18. (3) Withdrawal from an Investment 5 There are three items on the submenu for this function. These are: 1. Regular Deposits-Regular Withdrawals at Future Date 2. Lump Sum Deposits. Regular Withdrawals N Years Later 3. Regular Deposits Needed For Desired Regular Withdrawal Consider the following problem. Suppose you are planning to retire 20 years from now. On January 1, 1993 you get a pay raise (or a bonus on December 31, 1992) that you are able to invest. Your question is: if I invest this money on a regular (or lump sum) basis from now until I retire, how much will I be able to withdraw on a regular basis when I retire before I run out of money. (If you simply want to know how much you'll have after 20 years you can use the Future Value of An Investment function 1.2). The first two functions require two input screens each. The first screen is needed to calculate how much money will accumulate before you can start to withdraw it. The second is needed to determine both the period over which withdrawals will take place, and the frequency of withdrawals. The third function approaches the problem in a slightly different way. Here our interest is in determining the best way to obtain a specific amount to withdraw over some period of time. This is not useful for perpetuities (i.e. Social Security or a typical pension plan where withdrawals take place over an indefinite period of time). If you are interested in determining how many periods it takes to exhaust a particular amount given withdrawals of a fixed amount at a fixed interest rate, use the loan calculator (see function 5.1 below). A loan is a negative annuity in which the bank loans you money at a specific interest rate for a fixed period of time, to be paid back (amortized) by fixed amounts periodically. Withdrawing money as an annuity is the same problem as a loan, but in reverse. In this case you are loaning the bank money (your nest egg), which they will pay back to you at a specific interest rate for a fixed period of time. (4) Present Value of Future Payments There are two functions in this submenu. They are: 1. Lump Sum Future Payment, Present Value 2. Fixed Series Future Payments, Present Value Suppose you win the Oregon Lottery. You might be given the 6 choice of receiving $200,000 per year for 20 years, or a check now for $2,000,000. Which is the better deal? Most of us won't ever face this choice; however we might face the following choice: When you retire, your pension plan may give you the option of taking your retirement income as a lump sum, as an annuity for a fixed length of time, or as a perpetuity. This pair of functions enables you to determine the best strategy to the pension problem. It computes the Present Value of an Investment that pays a specified amount in the future, either as a lump sum or as an annuity. More specifically, it provides the present value of a lump sum to be paid at a definite time in the future, or the present value of a series of payments beginning now and continuing to a definite time in the future. (It does not deal with perpetuities). By the way, at today's paltry interest rates (say 2.75%) the present value of $200,000 per year for 20 years is more than $3 million. In other words, the lottery would have to pay you a lump sum in excess of $3 million before the lump sum would be a good deal. If you thought you could get at least 10% on your investment, the $2 million lump sum settlement would be a better deal since the present value of the $200,000 per year for 20 years at 10% is only $1.7 million. (5) Loan Calculations There are 7 items on the Loan Calculation submenu. These are: 1. Loan Calculator 2. Payments for Different Interest Rates - Comparison 3. Loan Amount for Given Periodic Payment 4. Amortization Schedule 5. Current Loan Balance 6. Accelerated Amortization - Payoff Loan Early 7. Refinance a Loan This section is, by far, the most extensive part of "Your Financial Partner." Most people at some time in life secure a loan of one type or another. These 7 loan functions enable the user to address almost any loan question imaginable. Six pieces of information are needed to render a loan fully. These are: (a) Loan Amount; (b) Nominal Interest Rate; (c) Payment Frequency; (d) Duration of Loan; (e) Payment Amount (f) Interest Compounding Frequency. Of these 6, items (a), (b), (d), and (e) are free to vary somewhat, while items (c) and (f) are important but typically constrained by external factors. The Loan Calculator (Function 5.1) enables the user to enter any 7 three of the four freely varying items (a, b, d, e), and the program will automatically calculate the fourth item. The Payment Frequency (item c) cannot be omitted, while the interest compounding frequency (item f) is, for simplicity, assumed to be the same as the payment frequency. Thus, you can enter the Loan Amount, the Nominal Interest Rate, and desired Payment Amount, and "Your Financial Partner" will calculate the number of payments required to fully amortize the loan. Similarly, you can enter the Loan Amount, the Loan Duration, and the desired Payment Amount and "Your Financial Partner" will calculate the interest rate needed to fully amortize the loan under those conditions. The Loan Calculator will compute the missing value in each of the four instances where one of the four key variables is left out. If no information is left out, or if more than one variable is left out, you will encounter an error message. As noted above, the Loan Calculator is not limited to use with loans. If you understand the relationship between a loan and an ordinary annuity (a loan is simply a negative ordinary annuity), the loan calculator can also be used as an annuity calculator. Consider, for example, that you have $130,000 in an IRA when you retire. The IRA is paying a nominal 6% annum interest. You have retired and want to begin withdrawing $1000 per month. How long will the money last at this rate? To use the Loan Calculator for this question make the $130,000 the Loan Amount, $1000 per month the payment amount, and 6% the interest rate. The missing quantity (Loan Duration) is the value you're looking for. This will be calculated when you press the calculate key. By the way, the money would last for 17.541 years (210 full months at $1000 per month, and a final payout of $459). The Loan Calculator also can be used to determine the true APR on a loan in which "points" (prepaid interest) are paid to secure the loan. Typically mortgages are the only loans with points. To use the loan calculator in this way, you will need to run it twice. An example illustrates this. Suppose you want to borrow $100,000 for 30 years at 8.0%. The bank will loan the money to you, but you must pay a combined loan fee and discount of 2 "points" to secure the loan. Since each "point" represents 1% of the loan, a 2 "point" fee and discount amounts to $2000 paid at closing. While the mortgage is secured at a nominal 8% per annum, what is the true "Annual Percentage Rate" when the points are figured? Run the loan calculator first to determine what the monthly payment will be on a $100,000 loan for 30 years at 8.0%. The computed amount is $733.76 per month. Run the loan calculator a second time, letting $98,000 ($100,000 - $2,000 in points) represent the loan amount. Leave the interest rate blank, but instead fill in the monthly payment amount as $733.76 (you will still be paying back $100,000 in principal even though 8 you have effectively only borrowed $98,000 from the bank). The calculated interest rate is 8.214%. This is the "true" Annual Percentage rate of your 8% loan. [Under Federal Truth-in-Lending Law, banks are required to tell you what the true APR is. Often other amounts figure into the APR. For example, I am in the process of refinancing my house right now. My bank includes points, tax service fee, interim interest charges, and mortgage insurance as part of the "prepaid" charges that are used in calculating the APR. My refinanced loan, which is locked in at an annual rate of 7.75%, actually has an 8.207% APR after these prepaid items are added. Often you are concerned with determining the effect of interest rate fluctuations on payment amounts. Function 5.2 provides you with a comparison of payments for a given loan amount over a range of +-1% (in 0.25% intervals). How many times have you wondered how much house you could afford if you could only manage a 30-year mortgage with $750 per month in principal and interest payments? What happens to the affordability of a home if interest rates change? Function 5.3 provides you with a comparison of Loan Amounts for a fixed periodic payment at interest rates over a range of +-1% (in 0.25% intervals). Function 5.4, the Amortization Schedule, provides a full payment schedule for any loan. It reports the amount of every payment apportioning the proper amounts to principal reduction and to interest, and provides a running loan balance after each payment is made. [You should beware that the outstanding balances calculated after any specific payment may differ from the actual outstanding balance reported by your bank. "Your Financial Partner" assumes that you make your payments at exactly equal intervals. Your bank computes interest charges daily and calculates your balance based on the exact number of days that elapse between each periodic payment.] The Loan Amortization schedule allows you use 9 different payment intervals. The program calculates the dates associated with each payments based upon the loan starting date you provide. In most instances the program will honor your starting date. There are two circumstances where the program will override your choice. The first involves Semi-Monthly payment schedules (exactly 2 payments per month, 24 payments per year). Regardless of the date you select, the program only allows Semi-Monthly payments to take place on the 1st and the 15th of the month. Thus, if you select a starting date between the 2nd and 15th of the month, the first payment will be forced to the 15th of the month. If you select a starting date between the 16th and the end of the month, the starting date will be moved to the first of 9 the following month. The second instance involves Semi-Monthly, Monthly, Bi-Monthly, Quarterly, Semi-Annual, and Annual payment schedules. If you try to schedule your first payment on the 29th, 30th or 31st of the month, the program will force the payment to the 1st of the following month, and payment intervals will be calculated from that point. Function 5.5 calculates the outstanding balance on a loan after any given periodic payment has been made. There is nothing in Function 5.5 that can't be obtained from the full amortization schedule (Function 5.4); however users may simply wish a quick loan balance without going through the trouble of a full amortization schedule. Suppose you have a home loan at 8.5% interest that has 20 years before it is fully amortized (paid off). You are due to retire in 12 years and you would like to pay the loan off by the time you retire. What is the best way to do this? How much money will you save over the long run by doing so? Aside from writing a check today for the balance due, there are really only three regular ways to accelerate the payoff of the loan. The first is to increase your monthly payments by some fixed amount and apply the extra amount to principal reduction. The second way is to take a single lump sum of cash and directly reduce the principal. The third is to make an extra payment every year. There are also combinations of these, as well the strategy of submitting variable amounts as extra payments. "Your Financial Partner" handles only the regular ways of doing this. [I am also aware of the strategy of dividing a monthly payment into two equal fractions and sending that fraction to the bank every two weeks. This results in 26 biweekly payments. I surveyed 18 banks and mortgage companies in the Portland area. None would permit a mortgagor to submit fractional payments as this strategy requires. Therefore, I did not include this option in "Your Financial Partner". However, you should understand that the biweekly option is basically the same as submitting 13 monthly payments annually, with the entire extra payment applied to principal reduction. This latter strategy is offered as an __ option in "Your Financial Partner." All of the banks I contacted were more than willing to accept an extra payment submitted this way.] Function 5.6 is offered for the user to consider the different approaches to accelerating the payoff of a loan. The procedure used in "Your Financial Partner" for dealing with the first two acceleration techniques is straightforward and requires no explanation. I had to impose some constraints to simplify the calculations for the third option. "Your Financial Partner" assumes that you want the first extra payment applied immediately, and then subsequent extra payments would be applied 10 after a full year has elapsed between each extra payment. Thus on a loan with monthly payments the first extra monthly payment would be applied with the next payment due, and subsequent extra payments would be added every 12th payment thereafter. For a weekly loan the interval would be 52 weeks, etc. This function reports the total amount paid under normal amortization and under accelerated amortization, as well as providing both the dollar savings and reduction in loan term resulting from acceleration. Loan function 5.7 enables you to explore the nether world of loan refinancing. With today's volatile interest rates, virtually all of us have considered refinancing loans initially obtained at rates significantly higher than those presently available. The goal in refinancing usually is to lower the monthly payment, to lower the total amount of interest paid over the life a loan, or both. There are times when refinancing is not economically prudent (this is particularly true when loan fees and points are high and the differential between the refinancing interest rate and the original interest rate is relatively small, or when you don't plan to stay in your home long enough to recapture the refinancing costs). Function 5.7 takes all of the relevant variables into consideration: current interest rate, current loan term, existing balance, current monthly payment, proposed interest rate, proposed loan term, new monthly payment, and new loan fees and points. These variables are combined to produce a comparison of what the net periodic savings will be under the new loan terms, what the gross savings will be over the life of the loan taking into consideration the effect of new loan fees and points if applicable, and will calculate the length of time needed to pay back the loan fees and points given the reduced monthly payments. Typically it is this combination of information that allows you to make a more informed decision about refinancing. You should remember that "Your Financial Partner" does not take into account the fees and points you might have paid to secure the original loan. These fees should be subtracted from the GROSS savings to get a NET savings under refinancing. (6) Bond and Security Calculations: Relatively few of us will ever purchase corporate or municipal bonds. Mutual funds have become a very popular investment for the average investor, particularly given the anemic returns on the safer, and risk-free investments like savings accounts, CD's, and Money Market funds. A large number of low- to medium-risk mutual funds invest part of their resources in municipal and/or corporate bonds. Therefore, understanding the way in which bond prices and bond values are 11 affected by market factors may provide some insight into the price ebb and flow of mutual funds that invest in them. These are the intents of Functions 6.1 - 6.3. Similarly, the poor returns on the safer investments have driven many average investors into the stock market or into mutual funds in an effort to capture larger returns. The fundamental problem that these investment tools present for the average investor is how to compare the yields on these risky securities with returns offered on risk-free investments such as savings accounts, CD's and Money Market Funds. To compare the yields, we first have to be able to compute the annualized return (or yield) on these securities. This is complicated because stocks, bonds, and mutual funds change value on a daily basis either by capital appreciation, by payment of dividends and capital gains, or by some combination of all these factors. Function 6.4 addresses this matter. The functions grouped under Bond and Security Calculations include: 1. Bond Valuation 2. Bond Yield to Call 3. Bond Yield to Maturity 4. Annualized Yield on Security Bonds are issued at a face value (called the par value) with a coupon interest rate (the annual rate of interest paid on the bond), and a term of issue (the length of time until the bond matures and is redeemed by the issuer). Bonds can be purchased when they are issued, but also at any time after issue and before maturity. The value of the bond changes over time in response to two factors: market interest rates and time remaining until maturity. If you buy a bond at issue, you will buy it for its face value. Each year you will receive an interest check computed as the bond's face value times the coupon interest rate. Thus a $1000 bond, issued for 30 years, paying a coupon interest rate of 10% annually will yield $100 per year for 30 years. At the end of 30 years (the bond maturity date) the bond issuer will redeem the bond for $1000. If market interest rates do not fluctuate during the 30 years, the bond will have yielded a 10% return. If market interest rates do fluctuate, the bond's value __ will change over time. If market interest rates go down, the bond's value will increase and it is sold as a premium bond. The ____________ reason is simple. New bonds issued at that time will carry a lower coupon interest rate which yields a lower annual interest payment and a lower overall yield at maturity. Naturally investors would be willing to pay more for a bond if they could get a higher interest rate and a higher annual interest payment; thus, your bond's value is set to be that where its yield at 12 maturity equals that of the currently available (lower yielding) bond. This means that the bond will have to be purchased for more than its face value. On the other hand, if market interest rates are higher than the bond rates, people will try to sell off the bonds and move money into higher yielding investments. This will, in turn, cause the bond to be sold at a discount, with the ________ price being set to that where its yield at maturity also equals that of the currently available (higher yielding) bonds. Function 6.1 computes the current value of a bond at any time between issue date and maturity. It does so by taking into account the difference in coupon interest rates and current interest rates. If you experiment with function 6.1 you will see that there really is an inverse relationship between market interest rates, coupon interest rates, and bond value. If, after a bond is issued, market interest rates drop substantially, the bond issuer may want to redeem the bond early and reissue new bonds to take advantage of the lower market interest rates. They can do so only if the bond has call ____ provisions. A call provision is a condition specified in the __________ _______________ bond that allows its issuer to redeem the bond early for any reason provided certain temporal conditions hold (e.g. more than 5 years has elapsed since the bond was issued). Typically bonds are called only if market interest rates have fallen significantly. Bonds that are called generally yield a lower overall return on investment than bonds held to maturity. Issuers usually establish a formula to determine how to set the price of a bond at call. For example, some bonds have call provisions that set the call price as: bond par value x (100% + current market interest rate)N where N is the number of years N that have elapsed since the bond was issued. In any case, the call price is uniquely determined for every bond and can be easily calculated. Function 6.2 will enable you to determine the yield of a bond that has been called after N years, given current market interest rates and a known call price. If you buy a bond at its original issue (at its par or face value) and hold it to maturity, the yield on the bond is the same as its coupon interest rate. On the other hand, bonds purchased after their initial issuance are rarely purchased at par value. Thus, if these bonds are held to maturity they will yield more or less than the coupon interest rate. Bonds purchased for less than par value (discount bonds) and held to maturity yield more than the coupon interest rate. This makes sense because the bond will return not only the fixed interest payment every year but will also pay the bond's par value at maturity. Thus, the addition of a capital gain (the profit from redeeming the bond for more than its purchase price) to the annual coupon interest produces a yield to maturity higher than the coupon rate. By 13 contrast, the opposite condition obtains when bonds are purchased for more than par value (premium bonds) and held to maturity. Here there is a capital loss at maturity when the bond is redeemed for a lower price than that for which it was purchased. This loss reduces the yield to maturity below the coupon interest rate. Function 6.3 calculates bond yield to maturity by factoring in purchase price versus the bond's par value and length of time to maturity. Finally, Function 6.4 addresses the problem raised in the introduction. Suppose you invest $1000 in a mutual fund on January 15, 1993. The mutual fund shares are priced at $10 each so on January 15, 1993 you own 100 shares. On the 15th of each subsequent month you invest an additional $25 to purchase more shares (at their then-current value). On December 31, 1993 the mutual fund declares a $0.60 per share dividend and a $0.30 per share capital gains payment. As of December 15, 1993 you own (as a result of the initial investment and the 11 subsequent $25 investments) 124.664 shares so that the dividend plus capital gains payout on December 31, 1993 is worth $112.20, which is then reinvested in additional shares each costing $10.95. This leaves you with a portfolio consisting of 134.911 shares now worth $10.95 each. As of January 1, 1994, the portfolio is valued at $1477.27. What is your annual rate of return on this investment? For the average investor, this is a difficult question complicated by the fluctuating price of the fund, the payment of dividends and capital gains and their subsequent reinvestment, and the varying holding periods of individual shares in the mutual fund. Fortunately, "Your Financial Partner" makes this calculation relatively straightforward. To understand how this works, it is necessary to understand that money you pay out to purchase shares of a security is a negative cash flow to you; money you receive from dividends and capital gains are positive cash flows to you. However, reinvested dividends and capital gains are neither positive nor reinvested __________ negative cash flows for figuring yields (they are, however, exceedingly important in determining your cash basis for tax _____ purposes); the reinvestments are figured in the final valuation of the fund [in other words, at the end of the year the reinvested dividends and capital gains are reflected in the portfolio valuation of $1477.27 and do not, therefore, have to be considered as individual cash flows. They can, of course, be treated as individual cash flows; however, they would need to be entered twice: first as a positive cash flow to you, and then as a negative cash flow (you used the money to purchase additional shares). But since both of these events occur simultaneously in an automatic reinvestment program, the net effect is simply to increase the value of the portfolio by the dollar amount 14 reinvested and nothing is gained by figuring the individual cash flows. If this is unclear to you, the same logic applies to savings account. You can figure out your annual rate of return on a savings account without having to enter the interest payments received as a positive cash flow to you, followed by a negative cash flow reflecting its "reinvestment" in the savings account. All of the interest reinvestment is reflected in the value of the savings account at any moment in time.] Let's now consider this example. Function 6.4 asks for the following information in the following order (underlined information represents information you type in): Initial Value: $1000 ( This was our initial investment. It Initial Value _____ could also be the value on January 1, 199x) Date: 01/15/93 (This was the date of our initial investment) Date ________ Final Value: $1477.27 (The value of the portfolio at the close Final Value ________ of business on December 31, 1993. Note that there is no provision in "Your Financial Partner" for calculating the valuation of a portfolio. This information still must come from an external source, most typically a statement from the firm holding or issuing the security.) Date: 01/01/94 (This date corresponds with the value at the Date ________ close of business on 12/31/93). Guess at a rate of return: 10% (Just pick any number. This is Guess at a rate of return ___ needed to get the calculations started since I use an iterative routine to solve for the annualized yield.). The above 5 entries are required. The next 24 pairs of entries are optional; however every non-zero cash flow must be accompanied by a date that falls between the initial and final dates given above. The cash flows do not have to be entered in chronological order. CF#1: -25.00 (Cash Flow #1. Negative because it represents an CF#1 _____ additional investment) Date: 02/15/93 (Date of $25 investment. The number of shares Date: ________ purchased is irrelevant here) CF#2: -25.00 (Cash Flow #2) CF#2: ______ Date: 03/15/93 (Date of next $25 investment) Date: _________ . . (Cash Flows 3-10 filled in here) . 15 CF#11: -25.00 (Cash Flow #11) CF#11: ______ Date: 12/15/93 (Date of last $25 investment) Date: ________ Once this information is entered and checked, we are ready to calculate the annualized yield on our mutual fund. Pressing CTRL-ENTER performs the calculation. The resulting annualized yield, as you can see if you do this example, is 18.710%, a significant yield by any criterion. Function 6.4 also can be used to calculate the yield on an entire portfolio, provided that the total number of cash flows in the portfolio do not exceed 24. Another example will illustrate this. Suppose that you invest $1000 in fund #1 on August 13, 1992. You follow this with an investment of $1000 in a second fund on August 17, 1992, $1000 in a third fund on November 11, 1992, $1000 in a fourth fund on December 10, 1992, and $3000 in a fifth fund on December 11, 1992. Suppose in addition that Fund #1 pays $66.02 in capital gains on December 31, 1992, Fund #2 distributes $26.11 in dividends on December 31, 1992, and Fund #5 distributes $23.10 in dividends and capital gains on December 31, 1992. The other funds distribute no earnings. All dividends and capital gains are reinvested in shares in their respective mutual funds. On January 1, 1993, after all reinvestments are figured, the portfolio is valued at $7335.10. What is the annualized yield on this portfolio? (Note that although you can calculate the yields on all of the individual securities or mutual funds, the portfolio yield is not the simple average of the yields of the individual elements making up the portfolio. Since there is different holding period for each security, and each security may represent a different fraction of the total value of the portfolio, the proper way to compute portfolio yield is to account for all of the cash flows into and out of the portfolio in the same way you would for its individual elements). There are two ways to approach this question. Both will yield the same answer. The best approach is to treat the portfolio as having a $0.00 value on January 1, 1992 (which it did). Then on January 1, 1993 the portfolio has a value of $7335.10. During the year the portfolio had five negative cash flows (investments) over five different dates. These were: - 1000, 08/13/92; -1000, 08/17/92; -1000, 11/10/92; -1000, 12/10/92; -3000, 12/11/92. Entering these values produces a portfolio yield of 32.702% The alternative is to treat the portfolio as having an 16 initial $1000 value as of 08/13/92 (which it did) and a final value of $7335.10 on 01/01/93. Then we factor in four negative cash flows over four different dates. These were: -1000, 08/17/92; -1000, 11/10/92; -1000, 12/10/92; and -3000, 12/11/92. Entering these values also produces a portfolio yield of 32.702% The former approach is best in circumstances where the portfolio has a $0.00 initial value at some point in the year; the latter approach is best in cases of a continuing portfolio. We could, for example, use the second approach to determine the yield of the portfolio in the second year. To do so, we would consider the value of $7335.10 as the portfolio value at the beginning of the period, and then assess the yield from that _________ point considering all of the relevant cash flows. Function 6.4 can handle both positive and negative yields. Remember that while positive returns can, in principle, assume any positive value, negative yields can never be less than 100% since you can never lose more than the total amount you have invested at any given point in time. Note also that there are some combinations of cash flows that do not provide a single solution for the yield. This typically occurs when there are many positive and negative cash flows for a security or portfolio. If you get an error message telling you that you have an indeterminate solution, or that the solution did not converge in 50 iterations, try reorganizing the way you enter the data. Sometimes it helps to simply enter all the positive cash flows first, followed by all the negative cash flows (or the reverse). The problem typically arises when there are many sign changes over the range of cash flows. (7) Utilities Four different financial utilities are offered in "Your Financial Partner." They are: 1. Effective Interest Rate 2. Taxable Interest Rate 3. Days Between Dates 4. Calculate Federal Takehome Pay Suppose you want to put money into a savings account at a local bank. There are three banks nearby that each pay 5% annual interest. Bank 1 compounds the interest quarterly, Bank 2 compounds monthly, and Bank 3 compounds daily. If all other services offered are equal, into which bank should you put your money to maximize your yield? 17 Function 7.1 calculates the effective interest rate and provides you with the answer. Bank 1, paying a nominal interest rate of 5% per annum compounded quarterly, is actually paying an effective interest rate of 5.09%; Bank 2, which pays 5% compounded monthly, is actually paying an effective rate of 5.12%; and Bank 3, which compounds daily, provides an effective yield of 5.13%. Thus, Bank 3 should get your money. In general, the more often interest is compounded the higher the effective interest rate. The financial section of today's newspaper is littered with advertisements offering a variety of investments. Suppose you have $1000 to invest. You want something relatively safe, yet something that provides a higher return than an ordinary passbook savings account. You are given two possible investments that meet your objectives to provide a safe, modest rate of return. The first of these invests in short-term corporate bonds and has consistently returned about 7.5%. The second of these invests in a variety of tax-free municipal bonds and has consistently returned about 6%. Other things being equal, which of the two investments should you choose? The key element in investing is recognizing that some investments generate gains that are completely free of taxes, while others yield profits that are subject to ordinary income tax. To compare any two investments fairly, we need to level the playing field. Function 7.2 provides the necessary levelling. Whenever we make money from our investments, our earnings are subject to income tax unless the earnings are tax-free. Most investors will find themselves in either the 28% or 31% federal marginal tax bracket. In addition, many states also tax profits from investments. Suppose our hypothetical investor above was paying federal tax at the 31% marginal rate, and state tax at a 9% marginal rate. This means that the earnings are reduced by 31% because of federal tax, and 9% because of state tax. Thus, our taxable yield of 7.5% is reduced to 5.175% because of federal tax and to 4.5% when we add in state tax. This means that the two investments are hardly equivalent. Once taxes are factored in, the tax-free investment pays 1.5% more than the taxable investment. Function 7.2 turns this problem around by levelling the playing field in the opposite direction. It approaches the problem by asking what the taxable equivalent of a tax-free yield is. In the problem described above, the value of our 6% tax-free yield is increased by the combined federal and state tax obligation. We would have to have a taxable yield greater than 8.695% to offset the effects of federal tax; the return would have to equal or exceed 10% to offset the combined effects of a 18 31% federal tax and 9% state tax. Function 7.3 simply answers the question of how many days have elapsed between two dates. This routine takes into consideration leap years. Function 7.4, new in Version 3.3, was motivated by the changes in the Federal Income Tax Code passed by Congress and signed by President Clinton in August 1993. The Internal Revenue Service released the new withholding schedules for income taxes, Social Security, and Medicare in IRS Publication 15, Circular E in January 1994. "Your Financial Partner" incorporates these schedules into the takehome pay calculator. The routine is relatively simple to understand. You should understand that tax code is complicated in the area of what income is and is not subject to taxes. Some income is subject to Social Security and Medicare Taxes, but not to Federal Income Taxes (e.g. money set aside for a 403(b) tax-sheltered annuity), while some income is subject to none of those taxes (e.g. money set aside in a Flexible Spending Account for childcare). The inputs to "Your Financial Partner" allow you to enter both Section 125 deductions (those qualified deductions specifically approved by the IRS for ___ your company that are not subject to Federal, State, Social ____________ Security, and Medicare taxes) and voluntary 401-K or 403-B deductions, which are not subject to Federal or State taxes, but are subject to Social Security and Medicare taxes. Typically, section 125 deductions include flexible spending accounts that provide for dependent care and some health insurance. You should note that not all plans meet IRS qualifications. You should check with your employer to determine whether your deductions meet section 125 guidelines. In addition, function 7.4 allows you to enter the aggregate total of all after-tax deductions such as those for union dues, credit unions, savings bonds, health, life and disability insurance. If you reside in Oregon - and you select the abbreviation OR from the list of states - "Your Financial Partner" will also compute your Oregon withholding tax. The program does not compute withholding for states other than Oregon. Users who register the shareware version of "Your Financial Partner" and who supply me with the official withholding formulae for their ________ state will receive a customized version that includes the appropriate state income tax calculations. You may note some differences in the calculated Federal Tax withholding amounts between "Your Financial Partner" and your own pay stub. The IRS allows companies latitude in rounding salaries and withholding up or down from their exact amount to simplify bookkeeping. Ordinarily the difference should not be more than $0.50; however, depending on how companies have implemented the 19 exemption allowance, the calculated actual Federal (and probably state) withholding may differ by more. My own employer, for example, rounds my salary and both Federal and State withholding to the next highest dollar amount for computational purposes (my exact salary is always correctly reported, however). "Your Financial Partner" uses the computer formulae supplied by the Internal Revenue Service in their Circular E and yields "exact" withholding. Its results are comparable to those found in any other generic payroll program currently available. You should also be aware that neither Medicare nor Social Security taxes may be rounded. The results that "Your Financial Partner" reports should be exactly equal to what your employer has withheld. In rare circumstances either or both may be off by a penny, but this is strictly due to rounding error. The payroll function makes no effort to protect you from yourself. If you tell it that your 401K/403B deduction is $9000 and you are only paid monthly, it will not challenge you. It is also possible to have a negative takehome pay. Finally, for simplicity "Your Financial Partner" limits you to claiming no more than 9 exemptions. While you may be allowed more by the IRS, you cannot do so without your employer sending your W-4 to the IRS and risking the IRS challenge to your W-4. Since this probably affects only a few individuals and the complications from excess exemptions many, I decided to make the program simpler by disallowing more than 9. Programming Considerations: ___________________________ The current version of "Your Financial Partner" was written in Borland C++ 4.0. The menus and data entry screens were adapted from the Object Professional C++ Library from Turbo Power Software. To ensure accuracy, all financial calculations were performed in BCD (financial) arithmetic and follow banker's rules of rounding. Even so, there will be differences between results obtained using Financial Partner, spreadsheets, and other financial analysis programs. Where comparable routines exist, "Your Financial Partner" has been thoroughly tested with examples from major financial analysis textbooks and its results accurate, to within limits of roundoff error, with those obtained with Quattro Pro 5.0, Excel 3.0, Hewlett Packard 10B and 12 calculators, and the published textbook answers. I sincerely hope that "Your Financial Partner" is useful to you. I spent a great deal of time trying to write a program that I could use. While I've tested all of the functions with a wide variety of data from financial analysis text and am convinced that all egregious bugs have been exterminated, I've been programming for long enough to know that bugs cannot ever be 20 completely eradicated. If you run into any problem, encounter any results that do not look right or that you know are incorrect, please drop me a note and explain the circumstances. I do not want a "buggy" program circulating. Legal Matters: ______________ My legal advisors tell me that I cannot warrant this program, expressly or by implication. So there is no warranty attached to "Your Financial Partner." You'll just have to take my word that it does do financial calculations, and as far as I can figure it mostly gives correct answers. This generally means that I am not responsible if this program ruins your life. On the other hand, if it makes you a millionaire, I'd like to know about it. Money and Other Matters: ________________________ As indicated at the beginning of this manual, "Your Financial Partner" is distributed as "Shareware." If, after using it for 30 days, you find it valuable, please register the program by filling out the form below and send it to me along with a check for $29.95 to complete the registration process. Registered users will receive the latest version of "Your Financial Partner," free upgrades for 6 months following registration, will be able to receive upgrades thereafter at a nominal fee, and are eligible for telephone support. I am also willing to customize the Takehome Calculator for registered users who provide me with a copy of the appropriate withholding formulae for your particular state. If you are interested, please send a copy of the official booklet for employers issued ________ by your state's revenue department. Upon receipt I will integrate the relevant information into a customized version of "Your Financial Partner" and return the customized version to you as soon as possible. Customer Service: _________________ Users needing help with "Your Financial Partner", users wishing to report a bug, users wishing to lavish me with praise, or users wanting to carp may contact me in writing at the address below (see Registration Form), or electronically via CompuServe (71212,2327). If you have an urgent problem, you may phone me at 503-725-3910 (this is in the Pacific Time Zone); however, this is my office phone number and I may or may not be able to talk with you when you call. If you get my voice mail instead of me, please leave me a detailed message indicating precisely what you ________ need. Also indicate whether you are a registered user. I cannot afford to provide telephone support to unregistered users (I will 21 respond to any and all electronic mail or US Mail messages whether you are registered or not). Include in your phone message a time of day where I will be able to get a hold of you by phone. I will try to respond as soon as possible. Acknowledgements: _________________ Thanks are due to my wife, Susan Wolf, and our children, Sarah and Elisabeth, for their support and for enduring the many months that writing this program consumed. Thanks also to Tech Mate for their helpful advice on using Object Pro C++. My gratitude goes out to all the beta testers - especially Bill Paudler, Don Flinn, and Geoff Kleckner - and to users of previous versions of "Your Financial Partner" for suggestions and encouragement, not to mention for drawing noxious bugs to my attention. Things In The Planning Stages: ______________________________ A Windows version of "Your Financial Partner" is already in the planning stages. It will include a simple, pop-up four- function calculator that will allow users to paste results into data fields, loan qualification function, and inflation- adjustment for various routines. I welcome user suggestions. Useful Financial References: ____________________________ The following proved invaluable to me in developing "Your Financial Partner." I recommend them to anyone wishing to do further research. Gordon Alexander and William Sharpe, 1990, Investments, 4th Edition. Englewood Cliffs: Prentice-Hall. Eugene F. Brigham, 1992, Fundamentals of Financial Management, 6th Edition. San Diego: Dryden Press (Harcourt, Brace, Jovanovich). Petr Zima and Robert L. Brown, 1984, Contemporary Mathematics of Finance (Schaum's Outline Series). New York: McGraw Hill. 22 Registration Form: __________________ Your Financial Partner Version 3.3 CPP Date_____________ Name__________________________________________________________ Address_______________________________________________________ City________________________________ State_________Zip________ Phone______________________ Where/how obtained_____________________________________________ Please return this form with a check for $29.95 to: Dr. Marc R. Feldesman Flying Pig Software 4210 SW Comus St Portland, Oregon 97219-9504 23